#ifndef EGG_RENDERSYSTEM_H
#define EGG_RENDERSYSTEM_H

#include "GraphicDevice/Geometry.h"
#include "GraphicDevice/Texture2D.h"
#include "GraphicDevice/TextureCube.h"
#include "GraphicDevice/GPUParamMap.h"
#include "GraphicDevice/RenderWindow.h"
#include "GraphicDevice/RenderTexture.h"

namespace egg{

    enum MaterialFlag{
        DF_Drawable=1U,
        DF_Lit=1U<<1,
        DF_Deferred=1U<<2,
        DF_Opaque=1U<<3,
        DF_ReceiveShadow=1U<<4,
        DF_CastShadow=1U<<5,
        DF_Bloom=1U<<6,
        DF_TwoSide=1U<<7
    };

    enum DrawPriority{
        DP_Background=0,
        DP_World,
        DP_Foreground,
        DP_Overlap,
        DP_Max,
    };

    enum LightType{
        LT_Null=0,
        LT_Spot,
        LT_Point,
        LT_Direction,
        LT_Max
    };

}

#endif